'''
显示二维表数据 QTableView 控件

model -> viewer -> Controller

'''
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys

class TableView(QWidget):
    def __init__(self):
        super(TableView, self).__init__()

        self.setWindowTitle("QTableView 表格视图控件演示")

        self.resize(400, 400)
        self.model = QStandardItemModel(4, 3)
        self.model.setHorizontalHeaderLabels(['id', '姓名', '年龄'])
        self.tableview =QTableView()

        item11 = QStandardItem('10')
        item12 = QStandardItem('20')
        item13 = QStandardItem('30')

        self.model.setItem(0, 0, item11)
        self.model.setItem(0, 1, item12)
        self.model.setItem(0, 2, item13)


        self.tableview.setModel(self.model)

        layout = QVBoxLayout()
        layout.addWidget(self.tableview)
        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = TableView()
    ex.show()
    sys.exit(app.exec_())